Visible light communication with increased signal-to-noise ratio

ABSTRACT

A method of increasing modulation of a visible light signal. The method can include receiving a signal that corresponds to the visible light signal, where the visible light signal has a magnitude. The method can also include adjusting, by a controller and based on the signal, a dimmer level of a dimmer by an amount, where the amount is proportional to the magnitude of the visible light signal, and where the dimmer level adjusts an output of a driver circuit. The visible light signal and the output of the driver circuit can be combined into a power signal and sent to one or more light sources. The one or more light sources can use the power signal to generate a light output that includes a visible light communication signal that is received by a receiver.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119 to U.S.Provisional Patent Application Ser. No. 61/769,491, titled “VisibleLight Communication with Increased Signal-To-Noise Ratio” and filed onFeb. 26, 2013, the entire contents of which are hereby incorporatedherein by reference.

TECHNICAL FIELD

Embodiments described herein relate generally to visible lightcommunication (VLC), and more particularly to systems, methods, anddevices for improving the signal-to-noise ratio (SNR) for VLC.

BACKGROUND

Visible light communication is a way of allowing devices to communicatewith each other using signals embedded within a light output generatedby a light source. For example, with a light-emitting diode (LED)circuit, a signal (sometimes called a light communication signal or aprocessed power signal) generated by a LED driver and sent to one ormore LEDs can include a visible light signal generated by a modulationcircuit. When the LEDs illuminate using the processed power signal andthe visible light signal, the LEDs send light output. The light outputof the LEDs can include a visible light communication (VLC) signal andcan be received by a receiver. In such a case, the receiver can separatethe VLC signal from the light output (sometimes called a lightcommunication).

SUMMARY

In general, in one aspect, the disclosure relates to a method ofincreasing modulation of a visible light signal. The method can includereceiving a signal that corresponds to the visible light signal, wherethe visible light signal has a magnitude. The method can also includeadjusting, by a controller and based on the signal, an input signal byan amount, where the amount is proportional to the magnitude of thevisible light signal. The input signal can include the visible lightsignal and a power signal from a driver circuit and is received by oneor more light sources. The one or more light sources can use the inputsignal to generate a light output that includes a visible lightcommunication signal that is received by a receiver.

In another aspect, the disclosure can generally relate to a system forincreasing modulation of a visible light signal. The system can includememory that includes an algorithm, and a hardware processor executingthe algorithm. The system can also include a modulation circuitexecuting on the hardware processor, where the modulation circuitgenerates a visible light signal, and where the visible light signalincludes a magnitude. The system can further include a controller,executing on the hardware processor and operatively coupled to themodulation circuit, that receives a signal based on the visible lightsignal and generates, in response to the signal, an adjustment signal.The system can also include a driver circuit, executing on the hardwareprocessor and operatively coupled to the controller, that includes adimmer, where the dimmer receives the adjustment signal and adjusts, inresponse to the adjustment signal, a dimming level to adjust an outputof the driver circuit by an amount, where the amount is proportional tothe magnitude of the visible light signal. The system can furtherinclude a light source, operatively coupled to the driver circuit andthe modulation circuit, that receives the output of the driver circuitand the visible light signal and generates, using the output of thedriver circuit and the visible light signal, a light output comprising avisible light communication (VLC) signal.

In another aspect, the disclosure can generally relate to a system forincreasing modulation of a visible light signal. The system can includememory that includes an algorithm, and a hardware processor executingthe algorithm. The system can also include a modulation circuitexecuting on the hardware processor, where the modulation circuitgenerates a visible light signal, where the visible light signalcomprises a magnitude. The system can further include a controller,executing on the hardware processor and operatively coupled to themodulation circuit, that controls the magnitude of the visible lightsignal. The system can also include a driver circuit that generates apower signal. The system can further include a light source, operativelycoupled to the driver circuit and the modulation circuit, that receivesan input signal, where the input signal includes the power signal fromthe driver circuit and the visible light signal from the modulationcircuit. The light source can generate, using the input signal, a lightoutput having a visible light communication (VLC) signal.

These and other aspects, objects, features, and embodiments will beapparent from the following description and the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings illustrate only example embodiments of VLC with increasedSNR and are therefore not to be considered limiting of its scope, as VLCwith increased SNR may admit to other equally effective embodiments. Theelements and features shown in the drawings are not necessarily toscale, emphasis instead being placed upon clearly illustrating theprinciples of the example embodiments. Additionally, certain dimensionsor positionings may be exaggerated to help visually convey suchprinciples. In the drawings, reference numerals designate like orcorresponding, but not necessarily identical, elements.

FIG. 1 shows a system diagram of a LED circuit that uses VLC currentlyknown in the art.

FIG. 2 shows a system diagram of a LED circuit using VLC in accordancewith certain example embodiments.

FIGS. 3A-C show graphs of various currents flowing through components ofthe LED circuit of FIG. 2 in accordance with certain exampleembodiments.

FIG. 4 is a flowchart presenting a method of increasing modulation of avisible light signal in a LED circuit in accordance with certain exampleembodiments.

FIG. 5 shows a computer system used for increasing modulation of avisible light signal in a LED circuit in accordance with certain exampleembodiments.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The example embodiments discussed herein are directed to systems,methods, and devices for VLC with increased SNR (also called improvedSNR) in electronic circuits, such as with LED lighting circuits.Specifically, example embodiments may be directed to controlling themodulation level output by a modulation circuit, a dimming level of adimming circuit, and a time delay. Further, example embodimentscoordinate the aforementioned parameters between a LED driver, themodulation circuit, and a receiver. Certain example embodiments providea number of benefits. Examples of such benefits include, but are notlimited to, little to no discernable flicker of a light source,decreased error in VLC signal detection and interpretation, usercapability to adjust the settings and output, and no discernabledifference in the level of light output by a light source.

While the example embodiments described herein are directed to LEDlighting systems, example embodiments can also be used for other typesof lighting systems (e.g., fluorescent lighting systems, organic LEDlighting systems) that are used for VLC. Therefore, example embodimentsof VLC with improved SNR described herein should not be consideredlimited to LED lighting systems.

Example embodiments of VLC with improved SNR in LED circuits will bedescribed more fully hereinafter with reference to the accompanyingdrawings, in which example embodiments of VLC with improved SNR in LEDcircuits are shown. VLC with improved SNR in LED circuits may, however,be embodied in many different forms and should not be construed aslimited to the example embodiments set forth herein. Rather, theseexample embodiments are provided so that this disclosure will bethorough and complete, and will fully convey the scope of VLC withimproved SNR in LED circuits to those or ordinary skill in the art.Like, but not necessarily the same, elements (also sometimes calledcomponents) in the various figures are denoted by like referencenumerals for consistency.

FIG. 1 shows a system diagram of a LED circuit (system) 100 that usesVLC currently known in the art. The LED circuit 100 of FIG. 1 includes aLED driver 110, a modulation circuit 120, one or more LEDs 130, and areceiver 140. The LED driver 110 can optionally include a dimmer 115.The LED driver 110 and the modulation circuit 120 are both connected inparallel with the LEDs 130 (also referred to herein as a light source).In certain embodiments, one or more of a number of other components(e.g., an inductor 112, a capacitor, a resistor, a switch, an integratedcircuit) can be used in the LED circuit 100 between the LED driver 110,the modulation circuit 120, and/or the LEDs 130.

The receiver 140 is a device that receives the VLC signal, emitted aspart of the light generated by the LEDs 130, and interprets the VLCsignal. The receiver 140 is often a device that is physically separatefrom the other components of the LED system 100, but within a line ofsight of the light emitted from the LEDs 130. The LEDs 130 can be partof a light fixture or stand-alone. The LEDs 130 can be any type of LED,including but not limited to chip-on-board. The LEDs 130, the LED driver110, the dimmer 115, and the modulation circuit 120 can be positionedwithin the same housing and/or in separate locations. The LEDs 130 emitlight output, which can include a non-VLC signal component (or, moresimply, a non-VLC signal) and, in some embodiments, a VLC signalcomponent (or, more simply, a VLC signal).

The LED driver 110 is a power supply for the LEDs 130. Specifically, theLED driver 110 receives power from a source, processes the power, anddelivers the processed power to the one or more LEDs 130. The LED driver110 can also receive, process, and/or deliver control signals to theLEDs 130. The control signals and/or processed power (collectivelyreferred to as a power signal) can be received by the LEDs 130 from theLED driver 110 using wired and/or wireless technology. Similarly, thesignals (e.g., power, control) received by the LED driver 110 fromexternal sources can be received using wired and/or wireless technology.The LED driver 110 can be located inside of a housing, coupled to anexterior surface of such a housing, or positioned remotely from such ahousing. The LED driver 110 can include one or more discrete components(e.g., transformer, resistor, relay), one or more hardware processors,any other suitable circuitry, or any combination thereof. Thus, the LEDdriver 110 can include software, hardware, or any combination thereof.

The dimmer 115 of the LED driver 110 controls the amount of power(adjusts the power signal) delivered by the LED driver 110 to the LEDs130. The dimmer 115 can be controlled remotely by a user and/or by someother source. By controlling the power signal delivered by the LEDdriver 110 to the LEDs 130, the dimmer 115 controls the amount of lightoutput by the LEDs 130. The dimmer 115 can be part of the LED driver110, or the dimmer 115 can be a separate device from the LED driver 110.

The modulation circuit 120 controls the VLC signal component of thelight emitted by the LEDs 130. Specifically, the modulation circuit 120sends, in parallel with the power signal sent by the LED driver 110, avarying amount of power (the visible light signal) to the LEDs 130. Thepower signal sent by the LED driver 110 to the LEDs 130 is added to thevisible light signal sent by the modulation circuit 120 to the LEDs 130,and the LEDs 130 emit light (generate a light output) based on the sumof the power signal received from the LED driver 110 and the visiblelight signal received from the modulation circuit 120. In certainexample embodiments, the sum of the power signal and the visible lightsignal is called an input signal. In such a case, the light emitted bythe LEDs can include a VLC signal component. The modulation circuit 120can be part of the LED driver 110, or the modulation circuit 120 can bea separate device from the LED driver 110.

The varying amount of power (also called a visible light signal) sent bythe modulation circuit 120 to the LEDs 130 translates directly into theVLC signal as output by the LEDs 130. In other words, the power receivedby the LEDs 130 from the LED driver 110 is constant because the dimmer115, which can control the amount of power delivered by the LED driver110 to the LEDs 130, is not used in the VLC functionality of the LEDcircuit 100. As a result, the modulation level (i.e., the maximumamplitude of the visible light signal sent by the modulation circuit 120to the LEDs 130) is typically less than 2% of the maximum amplitude ofthe power sent by the LED driver 110 to the LEDs 130. For example, ifthe current delivered by the LED driver 110 to the LEDs 130 is 1.0 A,then the maximum modulation level of the modulation circuit 120 may beapproximately 20 mA.

The visible light signal generated by the modulation circuit 120 cancome in one or more of a number of formats. For example, when themaximum modulation level of the modulation circuit 120 is 20 mA, the VLCprotocol can operate on a binary system (zeros and ones), and so thevisible light signal can be zero (to correspond to a binary zero) or 20mA (to correspond to a binary one). The VLC protocol can be communicatedbetween the modulation circuit 120, the receiver 140, and the controllerthat initiates the VLC.

For currently-used LED systems 100 without the benefit of exampleembodiments, if the modulation level of the visible light signaldelivered by the modulation circuit 120 to the LEDs 130 is greater thanapproximately 2% of the maximum amplitude of the power sent by the LEDdriver 110 to the LEDs 130, then the light emitted by the LEDs 130 havea flicker discernable by the human eye. Thus, because the maximummodulation level generated by the modulation circuit 120 is so lowrelative to the maximum amplitude of the power delivered by the LEDdriver 110 to the LEDs 130, the SNR of the VLC signal of the lightoutput of the LEDs 130 is necessarily low. As a result of the SNR of theVLC signal being low, errors often occur by the receiver 140 indistinguishing the VLC signal from the light output of the LEDs 130and/or, if distinguished, properly interpreting the VLC signal. Thus abalance must be struck in the LED system 100 between having a high SNRfor the VLC signal while avoiding light flickering that is discernablewith the human eye.

Increasing the SNR of the VLC signal increases the reliability of theLED system 100 using VLC. To increase the ability of the receiver 140 toaccurately and reliably receive (distinguish) and interpret VLC signalswithin the light output of the LEDs 130, while still avoiding lightflickering in the light output that is discernable with the human eye,example embodiments can be used. FIG. 2 shows a system diagram of a LEDcircuit (system) 200 using VLC with improved SNR in accordance withcertain example embodiments. In one or more embodiments, one or more ofthe features shown in FIG. 2 may be omitted, repeated, and/orsubstituted. Accordingly, embodiments of lighting systems using VLC withincreased SNR should not be considered limited to the specificarrangements of components shown in FIG. 2. The components of FIG. 2 aresubstantially the same as the components described above with respect toFIG. 1, except as described below.

Unlike the dimmer 115 in FIG. 1, the dimmer 215 of the LED circuit 200in FIG. 2 is used not only as an externally-controlled device thatadjusts the power output (power signal) of the LED driver 110 to theLEDs 130. In addition, in certain example embodiments, the dimmer 215 iscontrolled by the controller 250 to make instantaneous (on the order ofGHz) adjustments in the power signal from the LED driver 110 to the LEDs130. Such instantaneous adjustments can coincide with, and compensatefor (complement), the maximum modulation level (the visible lightsignal) of the modulation circuit 220 to the LEDs 130. In other words,as the modulation circuit 220 sends, at a certain point in time, a level(modulation level) of power (the visible light signal) to the LEDs 130,the dimmer 215 can adjust (e.g., reduce, increase), at or nearly at thesame point in time, the amount of power delivered by the LED driver 210to the LEDs 130.

Such an adjustment can correspond to the modulation level. For example,if the modulation circuit 220 sends a visible light signal of 100 mA tothe LEDs 130, the LED driver 210 can reduce the current output by theLED driver 210 by approximately 100 mA. As another example, if themodulation circuit 220 does not send a visible light signal (i.e., thevisible light signal is 0 mA) to the LEDs 130, the LED driver 210 canincrease the current output by the LED driver 210 by approximately 100mA.

As a result, the modulation circuit 220 has a larger maximum modulationlevel compared to the modulation circuit 120 known in the art. Forexample, the maximum modulation level of the modulation circuit 220 canbe approximately 10% of the maximum amplitude of the power delivered bythe LED driver 210. The maximum modulation level of the modulationcircuit 220 can be fixed or variable. Aside from outputting a largermaximum modulation level, the modulation circuit 220 can also differfrom the modulation circuit 120 by communicating with the controller250.

In certain example embodiments, the controller 250 is communicablycoupled to the dimmer 215, the modulation circuit 220, and optionallythe receiver 240. In certain example embodiments, the controller 250 isa module or device that controls the dimmer 215 based on changes in thevisible light signal generated by the modulation circuit 220. Thecontroller 250 can include software and/or hardware. Examples of suchhardware can include, but are not limited to, an integrated circuit, aprogrammable logic controller, one or more discrete components (e.g.,resistor, capacitor), and one or more switches. The controller 250 caninclude, or be operatively coupled to, a timer.

The controller 250 can receive a signal that corresponds to a visiblelight signal. In some cases, the signal is a visible light signal. Thesignal can be received from the modulation circuit 220, an externalsource (e.g., another controller), a different portion of the controller250, or any combination thereof. The controller 250 can use this signalto adjust (e.g., increase, decrease) the dimmer level of the dimmer 215.Such a signal sent by the controller 250 to the dimmer 215 can be calledan adjustment signal. For example, the controller 250 can adjust thedimmer level of the dimmer 215 by sending an adjustment signal that isbased on a calculation performed by the controller 250 that is based onthe visible light signal sent by the modulation circuit 220 to the LEDs130. Such a calculation can be based on an algorithm stored in thecontroller 250.

In certain example embodiments, the controller 250 also uses theadjustment signal (generated by the controller 250) to control theoutput (the amplitude of the visible light signal) of the modulationcircuit 220. Alternatively, the modulation circuit 220 can generate avisible light signal (either the same as the visible light signal sentby the modulation circuit 220 to the LEDs 130 or a different visiblelight signal), which is received by the controller 250. In such a case,the controller 250 can use the visible light signal to send anadjustment signal to the dimmer 215 to adjust the dimming level. Thisfeedback path (modulation circuit 220 to controller 250 to dimmer 215)can use optics and/or an electric circuit to communicate. In certainexample embodiments, the feedback path uses an electric circuit (wiredand/or wireless) rather than optics because the electric circuit can beless expensive and more reliable than optics.

In certain example embodiments, the controller 250 also controls themaximum modulation level of the modulation circuit 220. Alternatively,the maximum modulation level of the modulation circuit 220 can be fixed,as by a user, a manufacturer, or some other entity. In addition, or inthe alternative, the controller 250 can adjust a dimmer level of thedimmer 215 to a level that corresponds to the output (e.g., the maximummodulation level) of the modulation circuit 220. The dimmer level of thedimmer 215 (and thus the output of the LED driver 210) can beproportional (e.g., directly inverse, inversely) to the magnitude of thevisible light signal generated by the modulation circuit 220. Thecontroller 250 can be part of, or a different component from, thecontrolling unit that exists for a LED system 200 using VLC andconverting the VLC signal that is being sent as an output of themodulation circuit 220.

In certain example embodiments, the dimmer level at which the controller250 sets the dimmer 215 is substantially the inverse of the output(e.g., the maximum modulation level of the visible light signal) of themodulation circuit 220. For example, if the output of the modulationcircuit 220 is 0.1 A, then the controller 250 can set the dimmer levelof the dimmer 215 to approximately 0.9 A for a LED module 210 that has anormal output level of 1.0 A. The controller 250 can control the dimmerlevel of the dimmer 215 and/or the maximum modulation level of themodulation circuit 220 in real time and/or in advance, as by using aprotocol sent to the dimmer 215 and/or the modulation circuit 220. Thecontroller 250 can adjust the dimmer level of the dimmer 215 and/or themaximum modulation level of the modulation circuit 220 in terms of apercentage of power (e.g., 10% reduction based on the normal outputlevel), a discrete amount of power (e.g., a 0.1 A increase), or someother suitable measure of power.

In addition to (or in the alternative of) controlling the amplitude ofthe power signal of the LED driver 210 using the dimmer 215 and/or thevisible light signal of the modulation circuit 220, the controller 250can, in certain example embodiments, control the timing of such changesusing the timer (not shown) that is part of, or operatively coupled to,the controller 250. Specifically, the controller 250 can control whenthe amplitude of the power signal of the LED driver 210 using the dimmer215 and/or the visible light signal of the modulation circuit 220 changerelative to each other in certain example embodiments. In other words,the controller 250 can adjust the dimmer level of the dimmer 215 before,after, or at the instant when the output of the modulation circuit 220is changed. The amount of time that the controller 250 can adjust thedimmer level of the dimmer 215 before or after the time when the output(visible light signal) of the modulation circuit 220 is changed canvary, but in no case can be so long as to cause a flicker in the outputof the LEDs 130 that is discernable to the human eye. An example of sucha maximum amount of time can be 10 ms.

In certain example embodiments, the dimmer 215 is optional, which meansthat the power signal generated by the LED driver 210 and sent to theLEDs 130 is substantially constant. In such a case, the controller 250can control the magnitude of the visible light signal generated by themodulation circuit 220 and sent to the LEDs 130. The control of themodulation circuit 220 by the controller 250 can be according to aprotocol known by the receiver 240

In other example embodiments, the controller 250 can control themagnitude of the visible light signal generated by the modulationcircuit 220 and sent to the LEDs 130, even if the LED driver 210includes a dimmer 215. In such a case, the dimmer 215 and the LED driver210 can operate as described above with respect to the dimmer 115 andthe LED driver 110 of FIG. 1. The magnitude of the visible light signalcontrolled by the controller can be based on the dimmer level of thedimmer 215.

In certain example embodiments, the dimmer 215 is part of, or is thesame component as, the modulation circuit 220. In such a case, if themodulation circuit 220 is capable of a maximum modulation level (visiblelight signal), the dimmer 215 can adjust the magnitude of the visiblelight signal between zero and the maximum level.

An example of how the controller 250 controls the output of the dimmer215 and/or the modulation circuit 220 with respect to each other in realtime is shown in FIGS. 3A-C. Referring to FIGS. 2-3C, FIG. 3A shows agraph 300 of the total current 304 flowing through the LEDs 130, whichcreates a light output of the LEDs 130. FIG. 3B shows a graph 320 of thecurrent 324 flowing out of the LED driver 210 based on the dimmer levelof the dimmer 215. FIG. 3C shows a graph 340 of the current 344 (thevisible light signal) flowing out of the modulation circuit 220. Inother words, the current 304 in FIG. 3A is the sum of the current 324 inFIG. 3B and the current 344 in FIG. 3C.

As can be seen in FIG. 3A, up until approximately 3 ms, the visiblelight signal 346 in FIG. 3C is zero, and so the current 306 in FIG. 3Aflowing through the LEDs 130 is identical to the current 326 in FIG. 3Bgenerated by the LED driver 210, which is approximately 1.0 A. Duringthis time (up to approximately 3 ms), the dimmer level of the dimmer 215is 100%. At approximately 3 ms, the visible light signal 348 in FIG. 3Cjumps to 0.1 A. The controller 250 adjusts the dimmer 215 with a 2 mslag after the modulation circuit 220 changes the visible light signal348. As a result, the current 308 in FIG. 3A flowing through LEDs 130 isapproximately 1.1 A between 3 ms and 5 ms. In certain exampleembodiments, the controller 250 receives a signal in advance of thechange in the visible light signal generated by the modulation circuit220. In such a case, the controller 250 can adjust the dimmer level ofthe dimmer 215 in advance of, or at the same time as, a change in thevisible light signal generated by the modulation circuit 220.

Continuing with the example in FIGS. 3A-C, at 5 ms, the 2 ms lag toadjust the dimmer level of the dimmer 215 has elapsed, and so thecontroller 250 adjusts the dimmer level of the dimmer 215 down byapproximately 0.1 A (down to approximately 90%) so that the current 328in FIG. 3B generated by the LED driver 210 is approximately 0.9 A, whichcompensates for the 0.1 A of the visible light signal 348 in FIG. 3Cgenerated by the modulation circuit 220. As a result, the total current310 in FIG. 3A flowing through the LEDs 130 is back to 1.0 A.

At approximately 7 ms, the visible light signal 350 in FIG. 3C returnsto zero. This causes the total current 312 in FIG. 3A flowing throughthe LEDs 130 to drop to 0.9 A. Again, because of the 2 ms lag in thedimmer level of the dimmer 215 being adjusted by the controller 250 inresponse to a change in the visible light signal 344, the total current312 in FIG. 3A flowing through the LEDs 130 remains at approximately 0.9A until 9 ms. At 9 ms, the controller 250 adjusts the dimmer level ofthe dimmer 215 upward by approximately 0.1 A (back to 100%) so that thecurrent 330 in FIG. 3B generated by the LED driver 210 is approximately1.0 A, which is the normal operating condition at the start of thisexample.

In certain example embodiments, the controller 250 can also determinethat an intensity of the visible light signal exceeds a threshold value.In such a case, a threshold value can correspond to an amount of timeand/or an amount of power delivered to the LEDs 130. For example, if theVLC protocol is a binary system, and if the visible light signalcontains 3,000 binary “1”s in a 4,096 bit string, the controller 250 maydetermine that a threshold has been exceeded. In such a case, in certainexample embodiments, the controller 250 can disable and/or pause themodulation circuit 220 (set the visible light signal to zero) for aperiod of time and/or until a condition (e.g., the threshold is nolonger exceeded) has been satisfied. After the period of time hasexpired and/or the condition is satisfied, the controller 250 canre-enable and/or unpause the modulation circuit 220.

In addition, or in the alternative, if the controller 250 determinesthat a threshold value has been exceeded, then the controller 250 candisable the dimmer 215 (e.g., set the dimmer level to 100%) and/or lockthe dimmer level of the dimmer 215 at a certain level. The purpose ofthis feature can be to avoid situations where a relatively large numberof zeros or ones within a period of time (e.g., 2 ms) can otherwisecause a discernable brightness or dimness in the light output by theLEDs 130.

FIG. 4 is a flowchart presenting an example method 400 for increasingthe modulation of a visible light signal in accordance with certainexample embodiments. While the various steps in this flowchart arepresented and described sequentially, one of ordinary skill willappreciate that some or all of the steps may be executed in differentorders, may be combined or omitted, and some or all of the steps may beexecuted in parallel. Further, in one or more of the exampleembodiments, one or more of the steps described below may be omitted,repeated, and/or performed in a different order.

In addition, a person of ordinary skill in the art will appreciate thatadditional steps not shown in FIG. 4, may be included in performing thismethod. Accordingly, the specific arrangement of steps should not beconstrued as limiting the scope. Further, a particular computing device,as described, for example, in FIG. 5 below, may be used to perform oneor more of the steps for the method 400 described below.

Referring now to FIGS. 2-4, the example method 400 begins at the STARTstep and proceeds to Step 402, where a signal that corresponds to thevisible light signal is received. In certain example embodiments, thecontroller 250 receives the signal. The controller 250 can receive thesignal from the modulation circuit 220, another controller, and/or someother component or entity of the LED system 200. The visible lightsignal can have a magnitude that corresponds to the maximum modulationlevel of the modulation circuit 220. The signal can be the visible lightsignal.

In Step 404, an input signal is adjusted by an amount. The input signalcan be adjusted by the controller 250. The input signal can be the sumof the visible light signal generated by the modulation circuit 220 andthe power signal generated by the LED driver 210. The amount that theinput signal is adjusted can be proportional to the magnitude of thevisible light signal.

In certain example embodiments, the input signal is adjusted by thecontroller 250 when the controller 250 adjusts the dimmer level of thedimmer 215. As described above, the dimmer 215 can control (adjust) thepower signal sent by the LED driver 210 (or any driver circuit). Theamount that the dimmer level of the dimmer 215 is adjusted can be basedon the signal received by the controller 250 in step 402 and can beproportional (e.g., inversely) to the magnitude of the visible lightsignal and/or a change in the visible light signal. The visible lightsignal and the output of the LED driver 210 can be combined into a powersignal and sent to one or more light sources (e.g., LEDs 130). The LEDs130 can use the power signal to generate a light output that includesthe VLC signal that is received by the receiver 240.

In addition to adjusting the dimmer level of the dimmer 215, or in thealternative, the controller 250 can adjust the visible light signal thatis generated by the modulation circuit 220. In such a case, the outputof the LED driver 210 can be constant, regardless of the dimmer level ofthe dimmer 215. The amount that the modulation level of the modulationcircuit 220 is adjusted by the controller 250 can be based on the signalreceived by the controller 250 in step 402 and can be proportional(e.g., directly) to the signal received by the controller 250 in step402.

As described above, the visible light signal and the output of the LEDdriver 210 can be combined into a power signal and sent to one or morelight sources (e.g., LEDs 130). The LEDs 130 can use the power signal togenerate a light output that includes the VLC signal that is received bythe receiver 240. If the dimmer 215 is operatively coupled to, or is thesame as, the modulation circuit 220, then the visible light signal canbe adjusted by adjusting the dimmer level of the dimmer 215 in such acase.

In any case, the controller 250 use a timer to adjust the input signalin advance, at substantially the same time, or after a correspondingchange in the visible light signal. The receiver, the controller 250,and any other appropriate components (e.g., the LED driver 210, themodulation circuit 220, the dimmer 215) can coordinate using one or moreof a number of protocols and/or algorithms so that the adjustments tothe input signal and/or the time delays are interpreted correctly withinthe LED system 200.

In certain example embodiments, when the signal received by thecontroller 250 is continuous (or only minimally interrupted to beconsidered continuous), the process can be repeated between step 402 andstep 404. In such a case, the controller 250 can adjust the dimmer 215and/or the magnitude of the visible light signal based on one or morefactors, including but not limited to changes in the visible lightsignal generated by the modulation circuit 220, a change in the dimmerlevel of the dimmer 215, and the existence of the dimmer 215.

Also, as explained above, the controller 250 can suspend the operationof the modulation circuit 220 to avoid a circumstance where the lightoutput of the LEDs 130 appears too bright or too dim based on the dimmersetting of the dimmer 215 as set by a user. In such a case, thecontroller 250 can, in certain example embodiments, send a suspensionsignal to the receiver 240 to notify the receiver 240 that the visiblelight signal is not being generated by the modulation circuit 220, andso that there is no VLC signal in the light output of the LEDs 130. Insuch a case, when the period of time expires (or when a condition hasbeen satisfied), the suspension signal is no longer sent from thecontroller 250 to the receiver 240. Alternatively, the controller 250can send a resume signal to the receiver 240 to notify the receiver 240that the visible light signal is again being generated by the modulationcircuit 220, and so that there the VLC signal is present in the lightoutput of the LEDs 130. After step 404 is completed, the process returnsto the END step.

FIG. 5 illustrates one embodiment of a computing device 500 capable ofimplementing one or more of the various techniques described herein, andwhich may be representative, in whole or in part, of the elementsdescribed herein. Computing device 500 is only one example of acomputing device and is not intended to suggest any limitation as toscope of use or functionality of the computing device and/or itspossible architectures. Neither should computing device 500 beinterpreted as having any dependency or requirement relating to any oneor combination of components illustrated in the example computing device500. As shown in FIG. 5, the bus 508 is operatively coupled to each ofthe processing unit(s) 502, the I/O device(s) 506, and thememory/storage component 504.

Computing device 500 includes one or more processors or processing units502, one or more memory/storage components 504, one or more input/output(I/O) devices 506, and a bus 508 that allows the various components anddevices to communicate with one another. Bus 508 represents one or moreof any of several types of bus structures, including a memory bus ormemory controller, a peripheral bus, an accelerated graphics port, and aprocessor or local bus using any of a variety of bus architectures. Bus508 can include wired and/or wireless buses.

Memory/storage component 504 represents one or more computer storagemedia. Memory/storage component 504 may include volatile media (such asrandom access memory (RAM)) and/or nonvolatile media (such as read onlymemory (ROM), flash memory, optical disks, magnetic disks, and soforth). Memory/storage component 504 can include fixed media (e.g., RAM,ROM, a fixed hard drive, etc.) as well as removable media (e.g., a Flashmemory drive, a removable hard drive, an optical disk, and so forth).

One or more I/O devices 506 allow a customer, utility, or other user toenter commands and information to computing device 500, and also allowinformation to be presented to the customer, utility, or other userand/or other components or devices. Examples of input devices include,but are not limited to, a keyboard, a cursor control device (e.g., amouse), a microphone, and a scanner. Examples of output devices include,but are not limited to, a display device (e.g., a monitor or projector),speakers, a printer, and a network card.

Various techniques may be described herein in the general context ofsoftware or program modules. Generally, software includes routines,programs, objects, components, data structures, and so forth thatperform particular tasks or implement particular abstract data types. Animplementation of these modules and techniques may be stored on ortransmitted across some form of computer readable media. Computerreadable media may be any available non-transitory medium ornon-transitory media that can be accessed by a computing device. By wayof example, and not limitation, computer readable media may comprise“computer storage media”.

“Computer storage media” and “computer readable medium” include volatileand non-volatile, removable and non-removable media implemented in anymethod or technology for storage of information such as computerreadable instructions, data structures, program modules, or other data.Computer storage media include, but are not limited to, computerrecordable media such as RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by a computer.

The computer device 500 may be connected to a network (not shown) (e.g.,a local area network (LAN), a wide area network (WAN) such as theInternet, or any other similar type of network) via a network interfaceconnection (not shown). Those skilled in the art will appreciate thatmany different types of computer systems exist (e.g., desktop computer,a laptop computer, a personal media device, a mobile device, such as acell phone or personal digital assistant, or any other computing systemcapable of executing computer readable instructions), and theaforementioned input and output means may take other forms, now known orlater developed. Generally speaking, the computer system 500 includes atleast the minimal processing, input, and/or output means necessary topractice one or more embodiments.

Further, those skilled in the art will appreciate that one or moreelements of the aforementioned computer device 500 may be located at aremote location and connected to the other elements over a network.Further, one or more example embodiments may be implemented on adistributed system having a plurality of nodes, where each portion ofthe implementation (e.g., controller, modulation circuit, dimmer) may belocated on a different node within the distributed system. In one ormore embodiments, the node corresponds to a computer system.Alternatively, the node may correspond to a processor with associatedphysical memory. The node may alternatively correspond to a processorwith shared memory and/or resources.

In one or more example embodiments, dimming for LED circuits reducescurrent ripple effect, decreases the cost of parts and manufacturing,and allows for better dimming control of AC-powered LED circuits,particularly for low-cost AC-powered LED circuits.

Accordingly, many modifications and other embodiments set forth hereinwill come to mind to one skilled in the art to which dimming for LEDcircuits pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that dimming for LED circuits are not to be limited to thespecific embodiments disclosed and that modifications and otherembodiments are intended to be included within the scope of thisapplication. Although specific terms are employed herein, they are usedin a generic and descriptive sense only and not for purposes oflimitation.

What is claimed is:
 1. A method of increasing modulation of a visiblelight signal, the method comprising: receiving, by a controller, asignal that corresponds to the visible light signal, wherein the visiblelight signal has a magnitude; and adjusting, by the controller and basedon the signal, an input signal generated by a dimmer and a modulationcircuit by an amount, wherein the amount is proportional to themagnitude of the visible light signal; wherein the input signalcomprises the visible light signal generated by the modulation circuitand a power signal generated by a driver circuit, wherein the drivercircuit comprises the dimmer, wherein the input signal is received byone or more light sources, and wherein the one or more light sources usethe input signal to generate a light output that comprises a visiblelight communication signal that is received by a receiver.
 2. The methodof claim 1, wherein the controller adjusts the input signal by adjustinga dimmer level of the dimmer, wherein the dimmer adjusts the powersignal generated by the driver circuit.
 3. The method of claim 2,wherein the controller comprises an algorithm to adjust the power signalof the driver circuit before generating the visible light signal.
 4. Themethod of claim 3, wherein the power signal of the driver circuit isadjusted no more than approximately 10 milliseconds before generatingthe visible light signal.
 5. The method of claim 2, wherein thecontroller comprises an algorithm to adjust the power signal of thedriver circuit after generating the visible light signal.
 6. The methodof claim 5, wherein the power signal of the driver circuit is adjustedno more than approximately 10 milliseconds after generating the visiblelight signal.
 7. The method of claim 1, wherein the controller adjuststhe input signal by adjusting a magnitude of the visible light signalgenerated by the modulation circuit.
 8. The method of claim 1, furthercomprising: determining that an intensity of the visible light signalexceeds a threshold value; ceasing, in response to determining that theintensity of the visible light signal exceeds the threshold value, togenerate the visible light signal for a period of time; and resuming,when the period of time has ended, generation of the visible lightsignal.
 9. The method of claim 8, wherein the receiver uses thealgorithm to determine that the visible light signal is not generatedduring the period of time.
 10. The method of claim 8, wherein thereceiver receives a suspension signal from the controller to notify thereceiver that the visible light signal is not generated during theperiod of time.
 11. The method of claim 8, wherein the period of time isno more than approximately 10 milliseconds.
 12. The method of claim 8,wherein determining that the intensity of the visible light signalexceeds a threshold value comprises determining that a number of binary“1”s in the visible light signal exceeds the threshold value.
 13. Themethod of claim 1, wherein the magnitude is at least 4% of the output ofthe driver circuit.
 14. The method of claim 1, wherein adjusting thedimmer level of the dimmer comprises: generating an adjustment signalbased on the visible light signal; and sending the adjustment signal tothe dimmer.
 15. The method of claim 1, further comprising: adjusting, bythe controller and based on the signal, a modulation level of amodulation circuit, wherein the modulation circuit generates the visiblelight signal based on the modulation level.
 16. A system for increasingmodulation of a visible light signal, the system comprising: memorycomprising an algorithm; a hardware processor executing the algorithm; amodulation circuit executing on the hardware processor, wherein themodulation circuit generates a visible light signal, wherein the visiblelight signal comprises a magnitude; a controller, executing on thehardware processor and operatively coupled to the modulation circuit,that receives a signal based on the visible light signal and generates,in response to the signal, an adjustment signal; a driver circuit,executing on the hardware processor and operatively coupled to thecontroller and the modulation circuit, comprising a dimmer, wherein thedimmer receives the adjustment signal from the controller and adjusts,in response to the adjustment signal, a dimming level to adjust anoutput of the driver circuit by an amount, wherein the amount isproportional to the magnitude of the visible light signal; and a lightsource, operatively coupled to the driver circuit and the modulationcircuit, that receives the output of the driver circuit and the visiblelight signal and generates, using the output of the driver circuit andthe visible light signal, a light output comprising a visible lightcommunication (VLC) signal.
 17. The system of claim 16, furthercomprising: a receiver operatively coupled to the light source and thecontroller, wherein the receiver receives the light and translates theVLC signal.
 18. The system of claim 16, wherein the controller furthercomprises a timer that is used to control when the adjustment signal issent to the dimmer.
 19. The system of claim 16, wherein the memoryfurther comprises threshold values that are used by the controller todetermine when the modulation circuit is disabled by the controller. 20.A system for increasing modulation of a visible light signal, the systemcomprising: memory comprising an algorithm; a hardware processorexecuting the algorithm; a modulation circuit executing on the hardwareprocessor, wherein the modulation circuit generates a visible lightsignal, wherein the visible light signal comprises a magnitude; acontroller, executing on the hardware processor and operatively coupledto the modulation circuit, that controls the magnitude of the visiblelight signal; a driver circuit operatively coupled to the controller,wherein the driver circuit comprises a dimmer and generates a powersignal based on a dimmer level of the dimmer, wherein the dimmer levelis set by the controller; and a light source, operatively coupled to thedriver circuit and the modulation circuit, that receives an inputsignal, wherein the input signal comprises the power signal from thedriver circuit and the visible light signal from the modulation circuit,wherein the light source generates, using the input signal, a lightoutput comprising a visible light communication (VLC) signal.